var http=require("http");
var url=require('url');

var MongoClient=require('mongodb').MongoClient;
// var ObjectId=require('mongodb').ObjectID;
var mongodbUrl='mongodb://127.0.0.1:27017';
var mongodbClient = new MongoClient(mongodbUrl);



var G=this;//定义方法开始和结束
var app=function (req,res) {
    console.log("初始url:        "+req.url);
    var pathname=url.parse(req.url).pathname;
    console.log("url.parse处理过的pathname:"+pathname);
    if (!pathname.endsWith('/')){
        pathname=pathname+'/';
    }
    console.log("通过自动补后/的结果pathname:"+pathname);
    // 意思是/login/
    if (G[pathname]){
        G[pathname](req,res);//执行注册的方法
    }else {
        console.log("没查到url配置信息的url是:"+pathname);
        res.end('no router');
    }

};
app.get=function (string,callback) { //这是给G插入方法的定义
    if (!string.endsWith("/")){
        string= string+"/";
    }
    if (!string.startsWith("/")){
        string="/"+ string;
    }
    //console.log("app.get 经过补充/ 后的结果是:"+string)
    //两个if的意思是 /login/
    G[string]=callback;
    //注册方法
    // G["login"]=function (req,res) {
    //
    // }
};



// //执行get方法
// app.get("login",function (req,res) { //这是给G插入方法的过程
//     console.log("login");
//
// });
// // G={
// //     "login":function (req,res) {console.log("login");},
// //     ....
// // }
//
// setTimeout(function () {
// app("req","res");
// },1000);

// http.createServer(app).listen(8002);
app.get("login",function (req,res) {
    console.log("login");
    res.end('login');
});
app.get("register",function (req,res) {
console.log("register");
res.end('register');
});
app.get("mongodb",function(req,res){
    mongodbClient.connect(function(err) {
        if(!err){
            console.log("Connected successfully to server");
            var db = mongodbClient.db('test');
            // db.collection('user').insertMany([ //插入数据
            //     {"name":"zhangsan","age":28},
            //     {"name":"李四","age":29}
            // ],function (err,result) {
            //     if(!err){
            //         console.log(result);
            //     }else{
            //         res.end("data insert Fail!!");
            //     }
            // });
            // res.end("Connected successfully to server");

            // //改数据
            // db.collection('user').updateOne({"name":"zhangsan"},{$set:{"name":"wangwu"}},function (err,result) {
            //     if(!err){
            //         console.log(result);
            //     }else{
            //         res.end("data update Fail!!");
            //     }
            // });
            // res.end("data update Successs!!");

            // db.collection('user').deleteOne({"name":"wangwu"},function (err,result) { //删除数据
            //     if(!err){
            //         console.log(result);
            //     }else{
            //         res.end("data delete Fail!!");
            //     }
            // });
            // res.end("data delete Successs!!");

            db.collection('user').find({"name":"李四"}).toArray(function (err,docs) {
                if (!err) {
                    // console.log(docs);
                    // res.write(docs);
                    for (var i in docs){
                        console.log("i is:"+docs[i].name);
                    }

                }else{
                    res.end("data query fail!!");
                }
            });
            res.end("data query Successs!!");


            mongodbClient.close();

        }
    });
});


  

module.exports=app;